package com.example.springboot.vo;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * <p>@NotNull 不能为 null，但可以为 empty，一般用在 Integer 类型的基本数据类型的非空校验上，
 *      而且被其标注的字段可以使用 @size、@Max、@Min 对字段数值进行大小的控制。
 *      一个 BigDecimal 的字段使用字段校验标签应该为 @NotNull。
 *
 * <p> @NotEmpty 不能为 null，且长度必须大于 0，一般用在集合类上或者数组上。
 *
 * <p> @NotBlank 只能作用在接收的 String 类型上，注意是只能，不能为 null，而且调用 trim() 后，长度必须大于 0即：必须有实际字符。
 *
 *
 * @author Zhang.Z
 * @version 2025-09-20
 */
public class UserVO implements Serializable {

    private static final long serialVersionUID = -1278660853522006741L;

    @NotEmpty(message = "username is not null")
    private String username;

    @NotNull(message = "age is null")
    private Integer age;

    @NotNull
    private Date  createDate;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }
}
